Presently, robotic data storage libraries are primarily used to archive data, i.e., store data that is not immediately needed by a host computer, and provide archived data to the host computer when the data is needed. A typical robotic data storage library receives data from a host computer and causes the data to be written to a recording medium of a data storage element. When the host computer requires some of the data that was previously written to a data storage element, a request for the data is sent from the host computer to the library. In response, the library locates the data storage element, reads the data from the data storage element, and transmits the data to the host computer system.
Most robotic data storage libraries are currently comprised of: (a) a plurality of storage locations for holding the data storage elements; (b) a data transfer interface capable of establishing a communication path with a data storage element so that data can be transferred between the data storage element and the host computer; and (c) a transport unit for moving a data storage element between one of the storage locations and the data transfer interface.
One example of a robotic data storage library is a tape cartridge library. In a tape cartridge library, for example, the library comprises a plurality of shelf structures comprising slots for holding tape cartridges, a drive for writing data to and/or reading data from the tape housed in the tape cartridges and a robot for transporting the tape cartridges between the storage slots and the tape drive. When a host computer provides data for archival purposes to the tape cartridge library, the robot retrieves a tape cartridge from a storage slot and transports the tape cartridge to the drive. The drive writes the data onto the tape in the tape cartridge. When the drive has completed writing the data onto the tape, the robot retrieves the tape cartridge from the drive and places the tape cartridge into a storage slot for later access.
When the host computer requests the archived data, the tape cartridge library locates the tape cartridge in which the requested data is stored. The robot retrieves the tape cartridge from a storage location and transports the tape cartridge to a drive. The drive reads the data from the tape in the tape cartridge and the tape cartridge library provides the data to the host computer. After the data has been read from the tape in the tape cartridge, the robot retrieves the tape cartridge from the drive and transports the tape cartridge to a storage slot.
When a typical robotic data storage library is transitioned from a power-off state to a power-on state, the robotic data storage library is not immediately ready for operation (i.e., is not in an operational state). To be operational, the host computer requires an inventory of the library that identifies items within the library (e.g., tape cartridges) and the locations of each item within the library. The host computer needs the inventory so that the host computer can issue instructions to the library relating to the items identified in the inventory. So, for example, an inventory may include the identity and the storage location of a particular tape cartridge and the identity and location of a tape drive that can read/write data from/to a tape within the particular tape cartridge. With this inventory, the host computer is able to issue a command to tell the library to have the tape cartridge moved from the storage location to the drive.
As a consequence, after a transition of a library from a power-off state to a power-on state, a host computer typically issues a command to the library requesting that the library perform an audit of the library to generate an inventory and provide the inventory to the host computer so that the library is in an operational state relative to the host computer. The library performs an audit of locations within the library to create an inventory to present to the host computer. Only after the library has performed this audit and provided the inventory to the host computer does the library reach an operational state. An audit of a robotic data storage library, for example, may include checking each storage location to determine if a data storage element is present in each location and, if so, identifying the data storage element. The audit may further include a search for various data transfer interfaces (such as drives, ports, etc.) and for one or more transport units to identify the data transfer interfaces and transport units present in the library to create the inventory.